Objects

T is an object-oriented language. T programs are concerned for the most part with creating and manipulating objects, which represent all data, and form the currency of computation in T. Particular objects are defined not by bit patterns or by addresses within a computer but rather by their behavior when called or when passed to procedures which manipulate them.

Objects are obtained most primitively through the use of QUOTE (page [*]), LAMBDA (page [*]), and OBJECT (page [*]) special forms, and less primitively by calling procedures defined in the standard environment, e.g. CONS and COMPOSE, which create new objects or return existing ones. (An implementation of T would presumably define many such procedures using more primitive object constructors; for example, COMPOSE might be defined by a T program which employs LAMBDA to construct the composed procedure. Thus the question of what kinds of objects are truly primitive and which are not is left unanswered by this manual.)



Subsections